package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @desc UpdateQuestionComReqDto
 * @使用场景
 */
@Data
public class UpdateQuestionComReqDto extends BaseDto implements Serializable {

    /**
     * 问题ID
     */
    @NotNull(message = "问题ID不能为空")
    @ApiModelProperty("问题ID")
    private String questionId;

    /**
     * 问题编号
     */
    @ApiModelProperty("问题编号")
    private String questionNumber;

    /**
     * 问题文字简介
     */
    @ApiModelProperty("问题文字简介")
    private String questionIntroduce;

    /**
     * 问题文字描述
     */
    @ApiModelProperty("问题文字描述")
    private String questionDesc;

    /**
     * 问题图片描述
     */
    @ApiModelProperty("问题图片描述")
    private String questionImg;

    /**
     * 问题等级
     */
    @ApiModelProperty("问题等级")
    private String questionLevel;

    /**
     * 问题状态 QUESTIONABILITY:待解决 RESOLVED:已解决 OVERTIME:已超时 SHELVE:暂搁置 REJECTED:已拒绝 SUSPENDED:已挂起 CLOSED:已关闭
     */
    @ApiModelProperty("问题状态")
    private String questionStatus;

    /**
     * 状态备注
     */
    @ApiModelProperty("状态备注")
    private String remarks;

    /**
     * 是否私密 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否私密")
    private String isPrivate;

    /**
     * 接收部门ID
     */
    @ApiModelProperty("接收部门ID")
    private String receiveSubjectId;

    /**
     * 实际解决时间
     */
    @ApiModelProperty("实际解决时间")
    private Date actualSolveTime;

    /**
     * 实际解决天数
     */
    @ApiModelProperty("实际解决天数")
    private Long actualSolveCycle;

    /**
     * 归属主体排序
     */
    @ApiModelProperty("归属主体排序")
    private Long orderNumber;

    /**
     * 相关人数量
     */
    @ApiModelProperty("相关人数量")
    private Long relevantPeopleNum;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

}
